#pragma once

class Plain : Intersectable
{
private:
	Ray _ray;
	Color _color;
	double _pointTimesDirection;

public:
	Plain(const Ray& param, const Color& color);
	virtual ~Plain();
	void WhereIntersects(const Ray&, FirstIntersectionResult&);
	void ColorAtIntersection(SecondIntersectionResult&, const Point&, const Ray&);
	Direction NormalAtPoint(FirstIntersectionResult&, const Point&);
};
